using net_work.Common.Request;
using net_work.Common.Result;
using net_work.Data.DTO.Sys;
using net_work.Data.Entity.Sys;
using net_work.Data.VO.Sys;

namespace net_work.IRepository.Sys;

public interface ICollegeRepository : IRepository<College>
{
    /// <summary>
    /// 插入学院
    /// </summary>
    /// <param name="collegeAddRequest">插入学院</param>
    /// <returns>学院ID</returns>
    Task<long> InsertAsync(CollegeAddRequest collegeAddRequest);

    /// <summary>
    /// 更新学院信息
    /// </summary>
    /// <param name="collegeUpdateRequest">更新学院信息</param>
    /// <returns>是否成功</returns>
    Task<bool> UpdateAsync(CollegeUpdateRequest collegeUpdateRequest);

    /// <summary>
    /// 获取学院分页信息
    /// </summary>
    /// <param name="request">分页请求参数</param>
    /// <returns>学院分页信息</returns>
    Task<PagedResult<CollegeResult>> GetCollegePagedAsync(PagedRequest request);
}